home *** CD-ROM | disk | FTP | other *** search
- ######################################
- ### Ruleset 0 -- Parse Address ###
- ######################################
-
- S0
-
- R<@> $#local $: <> special case error msgs
- R$* : $* ; $#error $@ USAGE $: "list:; syntax illegal for recipient addresses"
- R<@ $+> $#error $@ USAGE $: "user address required"
- R<$* : $* > $#error $@ USAGE $: "colon illegal in host name part"
-
- # handle numeric address spec
- R$* < @ [ $+ ] > $* $: $>98 $1 < @ [ $2 ] > $3 numeric internet spec
- R$* < @ [ $+ ] > $* $#smtp $@ [$2] $: $1 < @ [$2] > $3 still numeric: send
-
- # now delete the local info -- note $=O to find characters that cause forwarding
- R$* < @ > $* $@ $>97 $1 user@ => user
- R< @ $=w . > : $* $@ $>97 $2 @here:... -> ...
- R$* $=O $* < @ $=w . > $@ $>97 $1 $2 $3 ...@here -> ...
-
- # handle local hacks
- R$* $: $>98 $1
-
- # short circuit local delivery so forwarded email works
- R$+ < @ $=w . > $: $1 < @ $m . @ $H > first try hub
- R$+ < @ $+ @ $+ > $#smtp $@ $3 $: $1 < @ $2> yep ....
- R$+ < $+ @ > $#local $: @ $1 nope, local address
-
- # Complex routing is appended here, followed by normal remote routing
-